
import java.awt.image.BufferedImage;

/**
 * This class combines the buffered image with a unique name so as to facilitate control.
 */
public class ImageStructure {
	
	/** 
	 * It's recommended that the name is given in consistent with the path where the specified
	 * image locates on disk, because it's surely unique and no more redundant variable to store
	 * the path
	 */
	
	/*
	 * Image names of menu components including background and buttons
	 */
	public static final String IMAGE_NAME_PANEL_MENU_BACKGROUND = "./src/Images/back3.jpg";
	public static final String IMAGE_NAME_MENU_1 = "./src/Images/Menu/menu_1.png";
	public static final String IMAGE_NAME_MENU_2 = "./src/Images/Menu/menu_2.png";
	public static final String IMAGE_NAME_MENU_3 = "./src/Images/Menu/menu_3.png";
	public static final String IMAGE_NAME_MENU_4 = "./src/Images/Menu/menu_4.png";
	
	
	/*
	 * Image names of blocks
	 */
	public static final String IMAGE_NAME_BLOCK_ROAD_BASE = "./src/Images/Block/road1.png";
	public static final String IMAGE_NAME_BLOCK_ROAD_BOTTOM_LEFT = "./src/Images/Block/road2.png";
	public static final String IMAGE_NAME_BLOCK_ROAD_BOTTOM_RIGHT = "./src/Images/Block/road3.png";
	public static final String IMAGE_NAME_BLOCK_ROAD_TOP_LEFT = "./src/Images/Block/road4.bmp";
	public static final String IMAGE_NAME_BLOCK_ROAD_TOP_RIGHT = "./src/Images/Block/road5.png";
	public static final String IMAGE_NAME_BLOCK_FIELD_1 = "./src/Images/Block/field1_1.png";
	public static final String IMAGE_NAME_BLOCK_FIELD_2 = "./src/Images/Block/field2_1.png";
	public static final String IMAGE_NAME_BLOCK_WATER_1 = "./src/Images/Block/water1_2.png";
	public static final String IMAGE_NAME_BLOCK_WATER_2 = "./src/Images/Block/water2_2.png";
	public static final String IMAGE_NAME_BLOCK_WATER_3 = "./src/Images/Block/water3_2.png";
	public static final String IMAGE_NAME_BLOCK_MOUNTAIN = "./src/Images/Block/mountain_2.png";
	public static final String IMAGE_NAME_BLOCK_FOREST = "./src/Images/Block/forest_3.png";
	public static final String IMAGE_NAME_BLOCK_MIRE = "./src/Images/Block/mire.png";	
	
	/*
	 * Image names of units
	 */
	public static final String IMAGE_NAME_UNIT_TANK_1_UP = "./src/Images/Unit/tank1(up).png";
	public static final String IMAGE_NAME_UNIT_TANK_1_DOWN = "./src/Images/Unit/tank1(down).png";
	public static final String IMAGE_NAME_UNIT_TANK_1_LEFT = "./src/Images/Unit/tank1(left).png";
	public static final String IMAGE_NAME_UNIT_TANK_1_RIGHT = "./src/Images/Unit/tank1(right).png";
	public static final String IMAGE_NAME_UNIT_TANK_2_UP = "./src/Images/Unit/tank2(up).png";
	public static final String IMAGE_NAME_UNIT_TANK_2_DOWN = "./src/Images/Unit/tank2(down).png";
	public static final String IMAGE_NAME_UNIT_TANK_2_LEFT = "./src/Images/Unit/tank2(left).png";
	public static final String IMAGE_NAME_UNIT_TANK_2_RIGHT = "./src/Images/Unit/tank2(right).png";
	public static final String IMAGE_NAME_UNIT_BATTLESHIP_1_UP = "./src/Images/Unit/ship1(up).png";
	public static final String IMAGE_NAME_UNIT_BATTLESHIP_1_DOWN = "./src/Images/Unit/ship1(down).png";
	public static final String IMAGE_NAME_UNIT_BATTLESHIP_1_LEFT = "./src/Images/Unit/ship1(left).png";
	public static final String IMAGE_NAME_UNIT_BATTLESHIP_1_RIGHT = "./src/Images/Unit/ship1(right).png";
	public static final String IMAGE_NAME_UNIT_BATTLESHIP_2_UP = "./src/Images/Unit/ship2(up).png";
	public static final String IMAGE_NAME_UNIT_BATTLESHIP_2_DOWN = "./src/Images/Unit/ship2(down).png";
	public static final String IMAGE_NAME_UNIT_BATTLESHIP_2_LEFT = "./src/Images/Unit/ship2(left).png";
	public static final String IMAGE_NAME_UNIT_BATTLESHIP_2_RIGHT = "./src/Images/Unit/ship2(right).png";
	public static final String IMAGE_NAME_UNIT_JET_1_UP = "./src/Images/Unit/air1(up).png";
	public static final String IMAGE_NAME_UNIT_JET_1_DOWN = "./src/Images/Unit/air1(down).png";
	public static final String IMAGE_NAME_UNIT_JET_1_LEFT = "./src/Images/Unit/air1(left).png";
	public static final String IMAGE_NAME_UNIT_JET_1_RIGHT = "./src/Images/Unit/air1(right).png";
	public static final String IMAGE_NAME_UNIT_JET_2_UP = "./src/Images/Unit/air2(up).png";
	public static final String IMAGE_NAME_UNIT_JET_2_DOWN = "./src/Images/Unit/air2(down).png";
	public static final String IMAGE_NAME_UNIT_JET_2_LEFT = "./src/Images/Unit/air2(left).png";
	public static final String IMAGE_NAME_UNIT_JET_2_RIGHT = "./src/Images/Unit/air2(right).png";
	public static final String IMAGE_NAME_UNIT_INFANTRY_1 = "./src/Images/Unit/Infantry1.png";
	public static final String IMAGE_NAME_UNIT_INFANTRY_2= "./src/Images/Unit/Infantry2.png";
	public static final String IMAGE_NAME_UNIT_MOBILEAA_1 = "./src/Images/Unit/mobileAA1.png";
	public static final String IMAGE_NAME_UNIT_MOBILEAA_2= "./src/Images/Unit/mobileAA2.png";
	/*
	 * Image names of cursors
	 */
	public static final String IMAGE_NAME_CURSOR_LEFT = "./src/Images/cursor_left.png";
	public static final String IMAGE_NAME_CURSOR_RIGHT = "./src/Images/cursor_right.png";
	
	/*
	 * Others
	 */
	public static final String IMAGE_NAME_BOARD_INFO = "./src/Images/board_info.png";
	public static final String IMAGE_NAME_BUTTON_END_TURN = "./src/Images/Button/end_turn.png";
	public static final String IMAGE_NAME_HIGHLIGHT_UNIT_1 = "./src/Images/highlight_1.png";
	public static final String IMAGE_NAME_HIGHLIGHT_UNIT_2 = "./src/Images/highlight_2.png";
	public static final String IMAGE_NAME_MAPIMAGE_1 = "./src/Images/image_map_0.png";
	public static final String IMAGE_NAME_MAPIMAGE_2 = "./src/Images/image_map_1.png";
	public static final String IMAGE_NAME_MAPIMAGE_3 = "./src/Images/image_map_2.png";
	public static final String IMAGE_NAME_MAPIMAGE_4 = "./src/Images/image_map_2.png";
		
	/*
	 * Explosion effect
	 */
	public static final String IMAGE_NAME_EXPLOSION_1 = "./src/Images/Explosion/explosion_1.png";
	public static final String IMAGE_NAME_EXPLOSION_2 = "./src/Images/Explosion/explosion_2.png";
	public static final String IMAGE_NAME_EXPLOSION_3 = "./src/Images/Explosion/explosion_3.png";
	public static final String IMAGE_NAME_EXPLOSION_4 = "./src/Images/Explosion/explosion_4.png";
	public static final String IMAGE_NAME_EXPLOSION_5 = "./src/Images/Explosion/explosion_5.png";
	public static final String IMAGE_NAME_EXPLOSION_6 = "./src/Images/Explosion/explosion_6.png";
	public static final String IMAGE_NAME_EXPLOSION_7 = "./src/Images/Explosion/explosion_7.png";
	public static final String IMAGE_NAME_EXPLOSION_8 = "./src/Images/Explosion/explosion_8.png";
	public static final String IMAGE_NAME_DESTROYED_1 = "./src/Images/Explosion/destroyed_1.png";
	public static final String IMAGE_NAME_DESTROYED_2 = "./src/Images/Explosion/destroyed_2.png";
	public static final String IMAGE_NAME_DESTROYED_3 = "./src/Images/Explosion/destroyed_3.png";
	public static final String IMAGE_NAME_DESTROYED_4 = "./src/Images/Explosion/destroyed_4.png";
	public static final String IMAGE_NAME_DESTROYED_5 = "./src/Images/Explosion/destroyed_5.png";
	public static final String IMAGE_NAME_DESTROYED_6 = "./src/Images/Explosion/destroyed_6.png";
	public static final String IMAGE_NAME_DESTROYED_7 = "./src/Images/Explosion/destroyed_7.png";
	public static final String IMAGE_NAME_DESTROYED_8 = "./src/Images/Explosion/destroyed_8.png";
	public static final String IMAGE_NAME_DESTROYED_9 = "./src/Images/Explosion/destroyed_9.png";
	public static final String IMAGE_NAME_DESTROYED_10 = "./src/Images/Explosion/destroyed_10.png";
	public static final String IMAGE_NAME_DESTROYED_11 = "./src/Images/Explosion/destroyed_11.png";
	public static final String IMAGE_NAME_DESTROYED_12 = "./src/Images/Explosion/destroyed_12.png";
	public static final String IMAGE_NAME_DESTROYED_13 = "./src/Images/Explosion/destroyed_13.png";
	public static final String IMAGE_NAME_DESTROYED_14 = "./src/Images/Explosion/destroyed_14.png";
	public static final String IMAGE_NAME_DESTROYED_15 = "./src/Images/Explosion/destroyed_15.png";
	public static final String IMAGE_NAME_DESTROYED_16 = "./src/Images/Explosion/destroyed_16.png";
	public static final String IMAGE_NAME_DESTROYED_17 = "./src/Images/Explosion/destroyed_17.png";
	
	/*
	 * Image name of buttons
	 *
	public static final String IMAGE_NAME_SINGLEPALER_BUTTON = "./src/Images/Button/Single Player Button.png";
	public static final String IMAGE_NAME_MULTIPLAYER_BUTTON = "./src/Images/Button/Multiple Player Button.png";
	public static final String IMAGE_NAME_OPTION_BUTTON = "./src/Images/Button/Option Button.png";
	public static final String IMAGE_NAME_EXIT_BUTTON = "./src/Images/Button/Exit Button.png";

	*
	 * 
	 */
	private String imageName;
	private BufferedImage image;
	
	/*
	 * Constructor
	 */
	public ImageStructure(String iN, BufferedImage i) {
		imageName = iN;
		image = i;
	}
	
	/*
	 * Accessors
	 */
	public String getImageName() {
		return imageName;
	}
	
	public BufferedImage getImage() {
		return image;
	}
}
